home *** CD-ROM | disk | FTP | other *** search
/ Nebula 1 / Nebula One.iso / Utilities / Workspace / Background3.2 / Source / background / BackgroundCLI.m < prev    next >
Text File  |  1995-06-12  |  1KB  |  67 lines

  1.  
  2. #import "BackgroundCLI.h"
  3. #import "Workspace.h"
  4. #import "Background.h"
  5.  
  6. void usage(char *fn);
  7.  
  8. @implementation BackgroundCLI
  9.  
  10. + new
  11. {
  12.     [super new];
  13.     {
  14.     const char *fn;
  15.     NXRect r={{0, 0}};
  16.     id window;
  17.     id view;
  18.     BOOL perm=NO;
  19.     
  20.      if (NXArgc<2 || NXArgc>3) usage(NXArgv[0]);
  21.     fn = NXArgv[1];
  22.     if (strcmp(NXArgv[1],"-p")==0)
  23.         {
  24.         perm = YES;
  25.         if (NXArgc<3) 
  26.             usage(NXArgv[0]); 
  27.         else 
  28.             fn = NXArgv[2];
  29.         }
  30.     [NXApp getScreenSize:&(r.size)];
  31.     view = [[Background alloc] initFrame:&r];
  32.     [view setImageNamed:fn];
  33.     [view setPermanent:perm];
  34.     window = [[Workspace alloc] initContent:&r style:NX_TOKENSTYLE 
  35.         backing:NX_NONRETAINED  buttonMask:0 defer:YES];
  36.     [window setContentView:view];
  37.     [window useOptimizedDrawing:NO];
  38.     [window removeFromEventMask:(NX_LMOUSEDOWNMASK | NX_LMOUSEUPMASK
  39.                  | NX_MOUSEMOVEDMASK | NX_LMOUSEDRAGGEDMASK
  40.                | NX_MOUSEENTEREDMASK | NX_MOUSEEXITEDMASK
  41.                | NX_KEYDOWNMASK | NX_KEYUPMASK
  42.                | NX_CURSORUPDATEMASK)];
  43.     PSsetwindowlevel(-1, [window windowNum]);
  44.     [window placeWindowAndDisplay:&r];
  45.     [window display];
  46.     [window orderWindow:NX_ABOVE relativeTo:0];
  47.     NXPing();
  48.     if (!perm) 
  49.         while(YES) 
  50.         sleep(1000); 
  51.     else 
  52.         return self;
  53.     }
  54. }
  55.  
  56. - run
  57. {
  58.     return self;
  59. }
  60.  
  61. @end
  62.  
  63. void usage(char *fn) {
  64.     fprintf(stderr,"Usage: %s [-p] <image-file>\n",fn);
  65.     exit(1);
  66. }
  67.